In many applications over the World-Wide Web, it is desirable for multiple users to maintain a common browser view. In other words, all users should see the same set of Web pages displayed in their respective Web browsers. Systems requiring this functionality include distance learning, remote presentations, on-line help desks, and collaborative research. There are three types of collaborative environments in use today over the World-Wide Web.
The first type delivers a collaboration application that contains a Web browser. The browser is treated as a component of the collaboration application; the application intercepts user interface events to and from the browser and can communicate all of these changes to other users who are running the same application. This approach has the distinct disadvantage of requiring users to install a separate application to support collaboration. Users, therefore, cannot collaborate unless they have all installed the same application. This is a significant restriction for many uses of collaboration and defeats the platform-independence goals of the World-Wide Web.
The second type of collaborative environment attempts to support the collaboration by directing all Web browser retrievals through a proxy or other server. The proxy records the pages being fetched and disseminates that information so that other browsers can retrieve the same Web pages. However, this approach is limited. The browser window may be split into multiple frames, each displaying a different Web page. Aside from knowing which pages have been retrieved, a server knows neither which pages are actually being displayed by the browser widow at any one time nor how those pages are actually laid out on the window.
This inability to support browser frames is a significant issue in collaborative browsing applications such as distance learning. First, the user can only visit and share a selected subset of Web sites. This method, therefore, limits the effectiveness of an education experience by limiting the scope of content that may be included within the presentation. Second, such systems are error-prone. Once the controlling user has accidentally visited a page that contains frames, the system can never re-synchronize the users' views. Additionally, the controlling user receives no indication that erroneous displays are being presented. Third, presentation graphics software often generates HTML content that assumes and depends upon support for frames (e.g. a frame for the slide and a frame for the caption notes). Without support for frames, a distance learning application cannot use content generated by such applications.
The third type of collaborative environment attempts to actually share the Web browser window as a graphical image. These systems disseminate the content of each pixel on the browser display. However, this approach eliminates the autonomy of the receiving user (whose display is only a graphical image); the user would need to run a separate browser to visit Web sites independently. Finally, this approach consumes considerable network bandwidth.
Therefore, a need exists for a portable way for enabling the sharing of Web browser displays among multiple users. This technique should run with existing Web browsers and not require the installation of additional software. It should support replication of the visual frame layout within the browser window. Moreover, it should allow each user to retain a level of autonomy over his/her own browser.